from longguo_ui.base.base import BasePage
from longguo_ui.config.locators import ReconciliationBatchPageLocators
import time


class ReconciliationBatchPage(BasePage):
    """
    对账批次列表页面操作类，继承自基础页面类
    封装对账批次相关的页面操作，如查询对账批次信息等
    """

    def __init__(self, driver):
        """
        初始化对账批次 页面实例

        :param driver: 浏览器驱动实例，用于页面交互
        """
        super().__init__(driver)

    def reconciliation_batch_list(self):
        """
        执行对账批次列表查询流程
        步骤包括：打开对账管理菜单、进入对账批次列表、选择账单时间、执行查询
        """
        # 点击对账管理菜单（展开子菜单）
        self.click(ReconciliationBatchPageLocators.RECONCILIATION_MANAGEMENTL)
        time.sleep(1)  # 等待菜单展开

        # 点击进入对账批次列表页面
        self.click(ReconciliationBatchPageLocators.RECONCILIATION_BATCH_LIST)
        time.sleep(1)  # 等待页面加载

        # 点击账单时间选择框
        self.click(ReconciliationBatchPageLocators.BILL_TIME)
        time.sleep(1)  # 等待日期选择器弹出

        # 确认选择的日期（使用默认日期或已选择的日期）
        self.click(ReconciliationBatchPageLocators.CONFIRMA)
        time.sleep(1)  # 等待日期选择完成

        # 点击查询按钮，获取对账批次数据
        self.click(ReconciliationBatchPageLocators.SEARCH)
        time.sleep(3)  # 等待查询结果加载完成